#   --------------------------------注释区--------------------------------
#   入口:http://87snmmrl3lxbh0nl98oiyqmqlusn.jl0e58hnkj1.p2zhhe26psdm2f.cn/ttz/wechat/HkScanCode?userShowId=8ced1d5d39c42cf1f1d2c702e8647fbb
#
#   需抓取数据: 
#   * 填写自动过检的api接口 本地 内网ip:5000 非本地自行进行穿透
#   * 登录多少个账号就跑多少个账号
#   * 部分地区不能跑
#   * 不想跑的号可以填wxid到 yuanshen_ymzapi_notrun 多个#分割 注意是原始id
#   * 提示 获取阅读任务失败 阅读暂时无效，请明天试，详细说明请看问题解答 等 需要[手动]进入平台[完成一轮阅读]后运行脚本即可恢复正常
#
#
#   抓取请求头中的user-agent填入yuanshen_useragent 无论多少个号都只填一个即可!!!!  要且只要手机微信端user-agent其余user-agent = 封号
#
#   变量名:yuanshen_api
#   满1自动微信提现
# 下面是自定义变量设置(注意是修改对应的环境变量而不是改文件内容):
# huaji_ymz_max_threads     默认1    最大线程数
# huaji_ymz_IsRun_ReadTask  默认开启 是否执行阅读任务 开启1 关闭0
# huaji_ymz_IsRun_SphTask   默认关闭 是否执行视频号任务  一轮0.18 不会进行真实关注 有被暂停任务的风险 开启1 关闭0
# huaji_ymz_IsRun_GzhTask   默认关闭 是否执行公众号任务  一轮0.25 不会进行真实关注 有被暂停任务的风险 开启1 关闭0
#   --------------------------------祈求区--------------------------------
#                     _ooOoo_
#                    o8888888o
#                    88" . "88
#                    (| -_- |)
#                     O\ = /O
#                 ____/`---'\____
#               .   ' \\| |// `.
#                / \\||| : |||// \
#              / _||||| -:- |||||- \
#                | | \\\ - /// | |
#              | \_| ''\---/'' | |
#               \ .-\__ `-` ___/-. /
#            ___`. .' /--.--\ `. . __
#         ."" '< `.___\_<|>_/___.' >'"".
#        | | : `- \`.;`\ _ /`;.`/ - ` : | |
#          \ \ `-. \_ __\ /__ _/ .-` / /
#  ======`-.____`-.___\_____/___.-`____.-'======
#                     `=---='
# 
#  .............................................
#           佛祖保佑             永无BUG
#           佛祖镇楼             BUG辟邪
#   --------------------------------代码区--------------------------------
import requests
import os
import sys
import platform
import subprocess
import importlib
import datetime
from urllib.parse import urlparse
import logging
import socket
logging.basicConfig(level=logging.INFO, format='[%(levelname)s] ===> %(message)s')
log = logging.getLogger(__name__)

THIS_Proxies = 'https://github.moeyy.xyz/'   # 网络不行就填Github代理 这里只给出一个要是不行就自己找 https://github.moeyy.xyz/

data = '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'
func = 'main'

GithubUrl = f"{THIS_Proxies.rstrip('/')}/https://raw.githubusercontent.com/huaji8/So_common/master/so" if THIS_Proxies else 'https://raw.githubusercontent.com/huaji8/So_common/master/so'
THIS_MODE = 'Huaji_SoLoader'
So_name = f'{THIS_MODE}.so'




def get_system_info() -> None:
    global Download_name
    python_version = f"{sys.version_info.major}.{sys.version_info.minor}.{sys.version_info.micro}"
    download_pyver = f'{sys.version_info.major}.{sys.version_info.minor}'
    processor_arch = platform.machine().replace('AMD64', 'x86_64').replace('x64', 'x86_64')
    system_name = platform.system()
    system_ver = platform.release() + " " + platform.version()
    system_arch = platform.architecture()[0]
    if system_name == "Darwin":
        system_name = "macOS"
        system_ver = platform.mac_ver()[0]
    elif system_name == "Windows":
        system_ver = f"{platform.release()} (Build {platform.win32_ver()[1]})"
    
    log.info(f"系统信息 [Python/{python_version}] [系统架构 {processor_arch}] [{system_name}/{system_ver} {system_arch}]")
    if download_pyver not in ['3.10','3.11','3.12']:
        log.error(f'当前Python版本不支持运行此脚本，请使用Python3.10或3.11或3.12运行此脚本,什么??你不重装,简单,删除本脚本然后睡觉觉就行了..')
        
    if processor_arch == 'x86_64' and system_name == 'Linux':
        Download_name = f'{THIS_MODE}_{download_pyver}_x64.so'
    elif processor_arch == 'aarch64' and system_name == 'Linux':
        Download_name = f'{THIS_MODE}_{download_pyver}_aarch64.so'
    else:
        Download_name = f'{THIS_MODE}_{download_pyver}_x64.so'
        
    if processor_arch not in ['x86_64', 'aarch64']:
        log.warning(f'当前系统架构大概率不支持运行此脚本,请使用x86_64或aarch64架构运行此脚本')
    elif 'Linux' not in system_name:
        log.error(f'当前系统不支持运行此脚本，请使用Linux运行此脚本')
    else:
        log.info('系统检测通过,开始运行脚本')
        return
    
    
    
    exit()



def download_file(save_path: str = None) -> bool:
    url =  GithubUrl + '/' + Download_name
    
    try:
        try:
            socket.create_connection(("www.github.com", 80), timeout=5)
            socket.create_connection(("www.github.com", 443), timeout=5)
        except (socket.timeout, socket.gaierror):
            log.warning("无法连接到Github,大概率下载是失败的,请检查网络或使用代理")

        if not save_path:
            file_name = os.path.basename(urlparse(url).path) or "downloaded_file"
            save_path = os.path.join(os.getcwd(), file_name)
        if os.path.exists(save_path) and os.path.getsize(save_path) == 0:
            os.remove(save_path)
        save_dir = os.path.dirname(save_path)
        os.makedirs(save_dir, exist_ok=True)
        curl_cmd = "curl.exe" if platform.system() == "Windows" else "curl"
        cmd = [
            curl_cmd,
            "-L", 
            "-f",
            "--silent",
            "--show-error",
            "-o", save_path,
            "-m","180",
            url
        ]

        result = subprocess.run(
            cmd,
            check=True,
            stdout=subprocess.PIPE,
            stderr=subprocess.PIPE,
            text=True
        )


        if not os.path.exists(save_path):
            log.error(f"下载文件不存在: {save_path}")
            return False
        if os.path.getsize(save_path) == 0:
            os.remove(save_path)
            log.error(f"下载文件为空: {save_path}")
            return False
        if result.returncode != 0:
            log.error(f"下载失败: {result.stderr.strip()}")
            return False
        log.info(f"文件下载成功: {save_path}")
        os.rename(Download_name, So_name)
        return True

    except subprocess.CalledProcessError as e:
        error_msg = f"下载失败: {e.stderr.strip()}" if e.stderr else "未知curl错误"
        log.error(error_msg)
        return False
    except Exception as e:
        log.error(f"下载异常: {str(e)}")
        return False
    
def dynamic_import(module_name: str) -> object:
    return importlib.import_module(module_name)

    
def Run() -> None:
    if os.path.exists(So_name):
        log.info('so文件存在,开始运行')
        print('='*30)
        obj = dynamic_import(THIS_MODE)
        obj.run(func, data)
    else:
        log.info('so文件不存在,开始下载')
        if download_file():
            Run()
        else:
            log.error('下载失败,请检查网络或使用代理')


if __name__ == '__main__':
    get_system_info()
    Run()
